﻿namespace Uniloader.Managers
{
    public enum TaskState
    {
        /// <summary>
        /// Task is not running.
        /// </summary>
        Stopped = 0,

        /// <summary>
        /// Task is running.
        /// </summary>
        Transferring = 1,

        /// <summary>
        /// Task is preparing to begin transferring data.
        /// </summary>
        Initializing = 2,

        /// <summary>
        /// Task temporarily paused by the user.
        /// </summary>
        Paused = 3,

        /// <summary>
        /// Task is finished.
        /// </summary>
        Completed = 4,

        /// <summary>
        /// Task has been queued by the download manager.
        /// </summary>
        Queued = 5,
        
        /// <summary>
        /// The task is not being handled by any download manager.
        /// </summary>
        Abandoned = 6,

        /// <summary>
        /// State of the task is unknown.
        /// </summary>
        Unknown = 7,

        /// <summary>
        /// Task is in a state of error.
        /// </summary>
        Error = 8
    }
}
